package com.example.supplychainbackend.service;

import com.example.supplychainbackend.controller.dto.blockchain.UploadInfo;
import com.example.supplychainbackend.controller.dto.logistic.DomesticLogisticDto;
import com.example.supplychainbackend.controller.dto.logistic.ForeignLogisticDto;

import java.util.List;

public interface LogisticService {

    DomesticLogisticDto getDomesticLogistic(String trackingNumber);

    DomesticLogisticDto updateDomesticLogistic(String trackingNumber, DomesticLogisticDto form);

    String createDomesticLogistic(DomesticLogisticDto form);

    List<DomesticLogisticDto> getDomesticLogistics();

    Long deleteDomesticLogistic(String trackingNumber);


    ForeignLogisticDto getForeignLogistic(String id);

    ForeignLogisticDto updateForeignLogistic(String id, ForeignLogisticDto form);

    String createForeignLogistic(ForeignLogisticDto form);

    List<ForeignLogisticDto> getAllForeignLogistics();

    Long deleteForeignLogistic(String id);

    UploadInfo uploadForeignLogistic(String id);

    UploadInfo uploadDomesticLogistic(String id);
}
